1. Technical Field
The present invention relates in general to graphical user interfaces for data processing systems, and in particular to techniques which facilitate interaction between software objects in a graphical user interface.
2. Description of the Related Art
Graphical user interfaces are now widely utilized in software to facilitate control over an ever-expanding set of software objects which are to be manipulated and controlled. These software objects include operating system programs, application programs such as word processing programs, spread sheets, and personal information managers, but also include a variety of databases as well as libraries of archived documents.
One principle advantage of graphical user interfaces is that they allow operators to perform tasks on a large variety of software objects, notwithstanding the fact that the operators may have infrequent occasion to use all the software objects. This is true because most graphical user interfaces are designed with ease of use as the predominant design criteria. To the maximum extent possible, graphical user interfaces will utilize symbology and command structures which are consistent with an operator's intuition; that is: to the maximum extent possible graphical user interfaces provide a mirror-image of the real world. This is a significant advantage since programs can be learned quickly and with little effort.
One significant disadvantage of the utilization of graphical user interfaces is that many operations which are performed are slowed down significantly by the requirement that a graphical pointing device be manipulated in a manner which interacts with menus, buttons, and iconographic representations of software objects. Graphical user interface operations such as "pointing and clicking" and "dragging and dropping" necessarily require a greater amount of time than that required of interfaces which are predominantly activated through utilization of the data processing system keyboard.
It is now one industry-wide objective to maintain the advantageous "intuitive" nature of graphical user interfaces while allowing for increased speed in performing common or routine tasks within the graphical user interface.